Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Iniciando en Java (Presentación PowerPoint) (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com
11
Estructura de una clase
class NombreDeLaClase {
// declaración de las variables de instancia
// declaración de las variables de la clase
metodoDeInstancia() {
// variables locales
// código
}
metodoDeClase() {
// variables locales
// código
}
}
Todo forma parte de una clase
Java NO soporta funciones o variables GLOBALES

Monografias.com
12
Atributos
Atributos de clase:
Común a todas las instancias de una clase
Sólo se inicializan una vez.
Ej: static public int nextCodigo;

Atributos de instancia:
determina el estado de los objetos
cada objeto reserva memoria para todas las variables de instancia

Declaración:

[acceso][static][final] tipo nombreAtributo [= valor_inicial];

Monografias.com
13
Inicialización de los atributos
Si un atributo no se inicializa se le asigna un valor por defecto en función de su tipo:

Monografias.com
14
Control de acceso
public – los miembros que se declaran como public son accesibles en cualquier parte donde la clase sea accesible

private – miembros declarados como private sólo accesibles en la propia clase

public class A{
public int at1;
private int at2;

}

Atributos privados y acceso a través de métodos públicos (set/get)

A a;
//creamos el objeto
a.at1 = 6 //OK
a.at2 = 5 //ERROR

Monografias.com
15
Métodos
Código que “entiende” y manipula el estado de un objeto

Pueden ser llamados dentro de la clase o por otras clases

Es obligatorio indicar el tipo de retorno o void

Declaración:

[acceso][static] tipoRetorno nomMet ([argumentos]){
//cuerpo del metodo
[return valorRetorno;]
}

Invocación: Notación punto
objReceptor.nomMet(argumentos);

Monografias.com
16
Métodos de clase
Se invocan sobre la clase, no sobre un objeto

Sólo puede acceder a las variables y métodos de clase (static)

Ejemplos:
int i = Integer.parseInt(“123”);

public class Ejemplo{
static private int at;
static public int getAt(){
return at;
}
}
Se invoca Ejemplo.getAt();

Monografias.com
17
Métodos
Java soporta sobrecarga de métodos
el mismo nombre pero con DIFERENTE lista de argumentos
SIEMPRE devuelven el mismo tipo

public class ListaEnteros{

public void add (int elem){…}
public void add (int elem, int index){…}
}
Paso de parámetros siempre por valor
los valores de los parámetros son copias de los valores que especifica el que lo invoca
tipos primitivos no cambian
los objetos pueden cambiar su estado ? se pasa por valor la referencia

Monografias.com
18
Paso de parámetros
public class Contador {
int valor;

public void sincronizar(Contador c){
c.setValor(valor);
}
}

(Gp:) 23
(Gp:) valor

c1
(Gp:) c

Se puede modificar el estado del objeto
pero no la referencia
c2
(Gp:) 45
(Gp:) valor

c1.sincroniza(c2);
23
(Gp:) c=c2

Monografias.com
19
Constructores
Procedimiento con el mismo nombre que la clase

Se invoca automáticamente cada vez que se crea un objeto de la clase

No pueden especificar tipos ni valores de retorno

Permite sobrecarga para especificar formas distintas de inicializar los objetos

Si no se define, el compilador crea uno por defecto sin argumentos que inicializa los atributos a los valores por defecto

El programador también puede definir un constructor sin argumentos.

Monografias.com
20
Constructor de copia
public class Ejemplo{
private int at1;

public Ejemplo (Ejemplo e){
at1 = e.at1;
}
}

Monografias.com
21
Ejemplo: Clase Contador v1
public class Contador{

// Variables de instancia
private int valor;

// Constructores
public Contador (){
valor = 0;
}
public void incrementar(){
valor++;
}
public int getValor(){
return valor;
}
}

Monografias.com
22
semántica referencia!!!
Creación de objetos
Un objeto es una instancia de una clase.
La creación de un objeto se realiza en tres pasos
Declaración, proporcionar un nombre al objeto
Contador miContador; (null)

Instanciación, asignar memoria al objeto
miContador = new Contador();
objContador

Inicialización, opcionalmente se pueden proporcionar valores iniciales a las variables de instancia del objeto en la declaración o mediante CONSTRUCTORES.

Monografias.com
23
Ejemplo. Clase de prueba v1
public class TestContador{
public static void main (String [] args){
Contador c = new Contador();

c.incrementar();
c.incrementar();

System.out.println(“C = “ + c.getValor());
}
}

Monografias.com
24
Igualdad vs. Identidad
¡¡OJO!!
== y != compara REFERENCIAS de manera que:

Contador c1 = new Contador();
Contador c2 = new Contador();

c1 == c2 –> false, luego c1!=c2
c1.equals(c2) –> true compara el CONTENIDO de los objetos
si lo redefinimos en la clase
(por defecto es igual que ==)
47
0
c2
valor
valorInicial
47
0
c1
valor
valorInicial

Monografias.com
25
this
Invocación a otro de los constructores de la clase:
public Contador (int i) {
valor=i;
valorInicial=i;
}
 
public Contador(){
this(0);
}
Instancia actual:
Pasar el objeto actual como parámetro de otro método
servicio.añadir(this);

En cualquier método del objeto actual
this.otroMetodo();

Monografias.com
26
Reglas de alcance
Porción del programa en el que se puede hacer referencia al identificador

Un identificador debe ser único dentro de su ámbito

Alcance de CLASE:
los métodos de una clase pueden modificar directamente los atributos de clase y de instancia
Un método de clase (static) sólo puede acceder a atributos de clase.

Alcance de Bloque:
variables locales y parámetros de un método
cuando se anidan los bloques y existen dos identificadores con nombres iguales el compilador da error de sintaxis (variable ya definida)
si una variable local tiene igual nombre que un atributo de la clase éste queda oculto.

Monografias.com
27
Reglas de alcance
class MiClase{

public static void metodo1(…){

{
…//bloque
}
}
public void metodo2(…){

}
}
variables de clase
parámetros
variables locales
var. de instancia
parámetros
variables locales

Monografias.com
28
El método main
Clase que conduce la aplicación

Al ejecutar el programa se busca el método main que contiene dicha clase:
public class Eco {
public static void main (String[] args){
for (int i = 0; i=step) valor-=step;
else valor=0;
}
public void reset(){
valor=valorInicial;
}
public int getValor(){
return valor;
}
public int getCodigo(){
return codigo;
}
}

Monografias.com
32
Ejemplo. Clase de prueba
public class TestContador{
public static void main (String [] args){
Contador c1 = new Contador();
Contador c2 = new Contador (0, 10);

c1.incrementar();
c2.incrementar();

System.out.println(“C1 = “ + c1.getValor());
System.out.println(“C2 = “ + c2.getValor());
}
}

Monografias.com
33
Paquetes
Agrupar todas las clases relacionadas
//MiClass.java
package miBiblioteca;
public class MiClase{ //…

Se coloca al comienzo del fichero

Indica que las clases públicas que contenga está accesible a cualquiera que incluya:
import miBiblioteca.MiClase; o bien
import miBiblioteca.*;

Las clases que no tienen un nombre de paquete están en el paquete por defecto (Default Package)

Soporta el concepto de jerarquía de paquetes (estilo directorio)
ej: import miPaquete.miSubPaquete.MiClase;

Monografias.com
34
Control de acceso
Designar qué clases de una biblioteca (miBiblio) están disponibles desde fuera del paquete

Controlan si el cliente puede crear objetos de la clase
public class MiClase { … }
Entonces import miBilio.MiClase;

Modificador de acceso por omisión indica visibilidad a nivel de paquete.
Tanto la clase como atributos y métodos.

Una clase NUNCA puede ser private.

Monografias.com
35
Estructura de un proyecto
(Gp:) modelo

(Gp:) Contador
valor

sumar()
restar()

(Gp:) vista

(Gp:) VentanaContador

(Gp:) Contiene nom_proyecto.jpx
(Gp:) Ficheros .class
(Gp:) Ficheros .java

Una carpeta por cada paquete
Cada carpeta contiene los ficheros corres-
pondientes a las clases del paquete.
Coincidencia EXACTA de nombres.

Monografias.com
36
Paquetes básicos del sistema
java.lang: para funciones del lenguaje
java.util: para utilidades adicionales
java.io: para manejo de ficheros
java.awt: para diseño gráfico e interfaz de usuario
java.awt.event: para gestionar eventos
javax.swing: nuevo diseño de GUI
java.net: para comunicaciones

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter